package com.domain.vo;

import com.common.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class KycxVo {
    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    private String id;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @Excel(name = "名称")
    private String name;

    /**
     * 1:论文  2:专利  3:著作
     */
    @ApiModelProperty(value = "类型 -> 1:论文  2:专利  3:著作")
    private Integer type;

    /**
     * 发表/出版时间
     */
    @ApiModelProperty(value = "发表/出版时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date publishDate;

    /**
     * 发布单位
     */
    @ApiModelProperty(value = "发布单位id")
    @Excel(name = "发布单位")
    private String publishUnit;


    /**
     * 文件ID
     */
    @ApiModelProperty(value = "文件ID")
    private String fileId;


    @ApiModelProperty(value = "文件名")
    @Excel(name = "文件名")
    private String fileName;


    /**
     * 一级学科id
     */
    @ApiModelProperty(value = "一级学科id")
    @Excel(name = "一级学科")
    private String subjectId;


    /**
     * 作者id集合
     */
    @ApiModelProperty(value = "作者id集合")
    @Excel(name = "作者id集合")
    private String authorIds;

    /**
     * 作者name集合
     */
    @ApiModelProperty(value = "作者name集合")
    @Excel(name = "所有作者")
    private String authorNames;


    @ApiModelProperty(value = "创建人id")
    @Excel(name = "创建人")
    private String createuserid;

    @ApiModelProperty(value = "创建人姓名")
    private String createusername;

    /**
     * 审核状态
     */
    @ApiModelProperty(value = "审核状态")
    @Excel(name = "审核状态")
    private String checkstatus;

    /**
     * 审核时间
     */
    @ApiModelProperty(value = "审核时间")
    @Excel(name = "审核时间")
    private String checkdate;

    /**
     * 审核人
     */
    @ApiModelProperty(value = "审核人")
    @Excel(name = "审核人")
    private String checker;

    /**
     * 流程实例id
     */
    @ApiModelProperty(value = "流程实例id")
    private String processInstanceId;

    private Boolean isAuditor;

    private String taskId;


    /*------------------ 论文---------------------------*/
    /**
     *  投稿期刊
     */
    @ApiModelProperty(value = "投稿期刊")
    @Excel(name = "投稿期刊")
    private  String   magazineName;

    /*------------------ 专利---------------------------*/

    /**
     *  专利类型
     */
    @ApiModelProperty(value = "专利类型")
    @Excel(name = "专利类型")
    private String modeId;


    /*------------------ 著作 ---------------------------*/


    /**
     * 出版社
     */
    @ApiModelProperty(value = "出版社")
    @Excel(name = "出版社")
    private String publishCompany;



    /**
     * 论文作者信息列表
     */
    @ApiModelProperty(value = "论文作者信息列表")
    private List<KycxAuthorVO> authorList;

}
